Auxiliary device control for a subscriber terminal

ABSTRACT

An auxiliary device control for a subscriber terminal includes a four wire ribbon cable defining a bidirectional communication and data interface from the terminal to one or more auxiliary devices. A communication and data protocol for the bidirectional transfer of instructions, status, and data over the interface includes an address field, command or reply field, data length field, and checksum field transmitted at 9600 baud. In a preferred implementation, the auxiliary device to be controlled is an IR peripheral controller which can tune a VCR, and switch it on and off. Several transactions in the communications and data protocol are used to effect the operation where a control VCR command and reply transaction cause the control of the tuning and recording of the VCR. A set-up VCR command and a brand reply transaction is used to provide information to configure the controller with brands and model of the VCRs. A program event code command and a program event timer reply transaction provide for the automatic recording of a program event based on an event code listed in a television schedule. A channel map command and a reply transaction provide for the downloading of the local cable system channel line up into the controller.

The invention pertains generally to a subscriber terminal for CATV orother subscription television systems and is more particularly directedto a method and an apparatus for controlling and communicating withperipheral devices from a subscriber terminal.

The subscriber terminal, more commonly known as a set top terminal, isan integral component of subscription television systems. Thesesubscription television systems can be cable television (CATV) systems,SMATV systems, multi-point, multi-distribution (MMDS) systems, ordirect-to-home (DTH) systems. The subscriber terminals haveconventionally provided the functions of tuning particular channels ofthe subscription system which are outside the subscriber's televisionreceiver capability. Further, they provide conditional access to theparticular subscription service through authorization codes and in manyservices provide tiering or authorization of particular channels of theservice by descrambling or decoding.

More recently, the subscriber terminal has become user friendly byproviding an interactive, on-screen display and other functions thatallow the subscriber to manipulate the subscription service and histelevision receiver in additional ways. These features include suchthings as volume control, pay-per-view event confirmation, favoritechannel listings, sleep timer features, viewing channel identification,parental control capability, program timers for recording VCR programs,and other types of consumer friendly operational features.

In addition, some of the on screen features found in newer televisionreceivers can be provided for older television receivers by thesubscription terminal. Modern subscription terminals are remotelycontrolled and provide this capability to the older television receiver.For example, channel identity, mute and remote volume control can beaccomplished by the subscriber terminal under remote control making thetelevision receiver appear to have these capabilities.

An advantageous example of a subscriber terminal with these advancedconsumer features is the 8600 model series of subscriber terminalsmanufactured by Scientific-Atlanta, Inc. of Norcross, Ga.

Even with the advance in the user friendly features of such subscriberterminals, there have been some inconveniences in interfacing with otherconsumer devices, such as VCRs and television receivers, because of theincompatibilities in tuning capability and operation. For example, if asubscriber wants to automatically record a program on his VCR and thatprogram is a premium event (it may have to be descrambled in thesubscriber terminal), he must not only set the subscriber terminalprogram timer, but must also set the VCR program timer to ensure that itwill be on and tuned to channel 3/4 which is the normal output of theterminal. To program both of these timers, the subscriber must afterselecting the program event translate the event time and date into theinterface language of each particular piece of equipment that he isusing. While both the subscriber terminal and VCR may have user friendlyinterfaces to assist in the process, they generally will be quitedifferent and cause considerable confusion for the subscriber.

Recently, there has been a service to assist in automaticallyprogramming a VCR which consists of a device to decode certain programevent codes. These program event codes can be printed in TV programlistings, such as in the newspapers or any of the TV program listingservices. The subscriber selects a program from the listing and inputsthe associated program event code to the VCR control device whichtranslates the code into a date and time for the occurrence of theprogram. The device then generates infrared (IR) control commands to aVCR to turn the recorder on and off at the proper times.

Presently, this device does not interface seamlessly with cabletelevision subscription services. If the subscriber connects the VCRthrough a subscriber terminal because he wants to view a scrambledevent, the terminal will cause some inconvenience with this device inthat its program timer must still be programmed with the date and timeof the program event, but more importantly the channel to be tuned bythe VCR must be the output of the terminal, such as channels 3/4 forNTSC. If the subscriber connects the VCR directly to the cable with thisdevice, he can not record premium events and must determine whether theTV program listing from which he has taken the program event code hasthe same channel line up as his subscription service and must ensurethat his VCR can tune that channel.

Therefore, it would be quite advantageous to provide a single subscriberequipment configuration which would seamlessly and easily program boththe subscriber terminal and the VCR with a program event code. It wouldalso be of advantage for the subscriber terminal to recognizeprogramming sources and be able to translate these into the specificchannel frequencies which a local cable system has assigned to them.

SUMMARY OF THE INVENTION

Therefore, it is an object of the invention to provide a peripheralcommunications and control interface for an auxiliary device connectedto a subscriber terminal.

It is another object of the invention to provide an infrared (IR)peripheral controller as an auxiliary device which communicates with andis controlled by the peripheral interface.

It is still another object of the invention to provide control andcommunications between the subscriber terminal and the IR peripheralcontroller to control one or more types of VCRs.

Yet another object of the invention is to provide an apparatus for theautomatic recording of a program event based on a program event codeinput to the subscriber terminal from an associated television programlisting.

Accordingly, the invention provides a subscriber terminal for asubscription television service which includes a communications andcontrol interface for auxiliary devices. The interface preferablycomprises a four wire ribbon cable which provides a serial transmitline, a serial receive line and ground for bidirectional asynchronousdigital communications. The fourth line is a power supply line whichwill source current from the subscriber terminal to an auxiliary devicewithout an internal power supply.

Data, status and control transactions are defined for the communicationsand control interface including command transactions initiated from thesubscriber terminal and reply transactions from the auxiliary devices.An auxiliary device which can be controlled in this manner is an IRperipheral controller which receives communications from the subscriberterminal and converts them to IR transmissions which can control anynumber of peripheral devices.

In an illustrated implementation, the interface and IR peripheralcontroller can be utilized in an apparatus for automatically recording aprogram event, whether it is scrambled or not. The system includes thesubscriber terminal, the IR peripheral controller, a television receiverand a recording device, such as a video cassette recorder. A series ofdata, status and control transactions are defined between the subscriberterminal and the IR peripheral controller to implement this function.

In one transaction, the subscriber terminal sends the necessary data andcontrol information to the IR peripheral controller to allow thecontroller to determine which specific VCR it is controlling. As thebrands of VCRs (and number of models within a brand) proliferate, thisfeature allows a facile method of configuring the IR peripheralcontroller for any particular VCR. Because this function is accomplishedwith the assistance of the on screen display of the subscriber terminal,the feature permits the subscriber to communicate with a single userfriendly interface for configuration.

A second transaction provides control commands to the IR peripheralcontroller to start and stop the VCR. The IR controller decodes thesecommands and translates them into the IR transmissions necessary tocause these functions in the VCR. With this feature, the conventionalprogram timers of the subscriber terminal can be used to accomplishautomatic recording of the program event. This feature is also assistedwith the on screen display of the subscriber terminal so that thesubscriber may communicate with a single user friendly interface.

As an additional feature, the system includes an apparatus forautomatically recording a program event by means of a program event codewhich has been selected by the subscriber from an associated televisionprogram listing. The program event code which is a coded indication ofthe start time, duration of the event, and program source is input tothe subscriber terminal. The program event code is then translated,either by the subscriber terminal, by the IR controller, or partially byeach, into data which can be input to one of the program timers of thesubscriber terminal.

Preferably, a third transaction is defined to translate the programevent code into time, date, program length, and program source in the IRperipheral controller. This is accomplished by passing the program eventcode to the IR controller and receiving a reply containing the necessaryinformation. This information is then loaded into one of the programtimers of the subscriber terminal. When the time in the program timerelapses, the VCR is controlled to record the event and then stop.

The subscriber terminal includes a channel map which associates programsources with local cable channel numbers. The IR peripheral controllermay also have a similar channel map which is programmable. A member ofalternative embodiments are possible where, if the peripheral controllerdoes not have a channel map, then a translation of the program source tothe local cable channel by the subscriber terminal will take placebefore the information is stored in a program timer. If the IRperipheral controller has a programmable channel map, then thecontroller can return the local channel number instead of the programsource. As a final embodiment, a transaction is defined to download theIR controller channel map with the channel map of the subscriberterminal so that the correct channel number is returned.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other objects, features and aspects of the invention will bemore clearly understood and better described if the following detaileddescription is read in conjunction with the appended drawings wherein:

FIG. 1 is a system block diagram of a subscription television system ofthe CATV type which includes a multiplicity of subscriber terminals;

FIG. 2 is a detailed block diagram of one of the subscriber terminals ofthe system illustrated in FIG. 1;

FIG. 3 is a pictorial representation of the key functions of the remotecontrol of the subscriber interface to the subscriber terminalillustrated in FIG. 2;

FIG. 4 is a system block diagram of a peripheral communications andcontrol interface between the subscriber terminal and a plurality ofauxiliary devices;

FIG. 5 is a detailed electrical schematic diagram of the interfaceillustrated in FIG. 4;

FIG. 6 is a pictorial representation of the communications protocolamong the subscriber terminal and the auxiliary devices which iscommunicated over the interface illustrated in FIG. 5;

FIG. 7 is a system block diagram of an apparatus for automaticallyrecording a program event on a VCR utilizing the subscriber terminal,the interface, an IR peripheral controller, and a television receiver;

FIGS. 8 and 9 are pictorial representations of a command transaction tocontrol the VCR from the subscriber terminal and the reply transactionfrom the IR peripheral controller for the apparatus illustrated in FIG.7;

FIGS. 10 and 11 are pictorial representations of a command transactionto configure the parameters of the IR peripheral controller from thesubscriber terminal and the reply transaction from the IR peripheralcontroller for the apparatus illustrated in FIG. 7;

FIGS. 12 and 13 are pictorial representations of the command to decode aprogram event code from the subscriber terminal and the replytransaction from the IR peripheral controller to cause the automaticrecording of a programmed event based on the event code for theapparatus illustrated in FIG. 7; and

FIG. 14 is a pictorial representation of the command transaction tostore the channel map from the subscriber terminal into the channel mapspace within the IR peripheral controller for the apparatus illustratedin FIG. 7;

FIG. 15 is pictorial representation of the channel map of the IRperipheral controller;

FIGS. 16A-C are a system flow chart of the on screen operations of thesubscriber terminal in the system illustrated in FIG. 7 utilizing theinterface and transactions illustrated in FIGS. 8, 9, and 12-15; and

FIG. 16D is a system flow chart of the on screen operations of thesubscriber terminal in the system illustrated in FIG. 7 utilizing theinterface and transactions illustrated in FIGS. 10 and 11.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

A subscription television system of the CATV type is more fullyillustrated in FIG. 1. The subscription television system includes aheadend 10 and a plurality of subscriber terminals 40, 44 and 48 whichare connected over a distribution system 52. As is conventional, thedistribution system 52 may include coaxial or optical fiber cable,system amplifiers, line extenders, etc. The headend 10 is under thesupervision of a system manager 12 which controls a hardware controller,headend controller 22. A billing computer 11 communicates with thesystem manager 12 to authorize and transmit transactions to subscribers.

The television or other programming for the subscription system may comefrom a satellite downlink where it is decoded and demodulated bysatellite receivers 18 into a number of channels. Each channel is eitherapplied to a modulator 24 and 30 or a scrambler and modulator 26 and 28which, under the control of the headend controller 22, remodulates thechannels to the frequencies of the local subscription system channelline up. For a premium or restricted channel service (tiered,pay-per-view, or the like), some channels are scrambled by any of theknown CATV methods by the scramblers and modulators 26 and 28. While theother channels can be transmitted without conversion. The programchannels are then frequency division multiplexed onto the distributionsystem 52 by an RF combiner 34 as a broadband television signal. Theplurality of channels of programming can then be transmitted over thedistribution system 52 and supplied to each of the subscriber terminals40, 44, and 48.

The scramblers and modulators 26 and 28 further may include the functionof data insertion for its particular channel. This method of providingthe data within the channel signal is generally termed in-bandsignaling. The data may be applied to any audio portion, video portionor both audio and video portions in combination, or any other portion ofthe television channel. Many subscription television systems haveamplitude modulated data pulses on the audio subcarrier. Further, inother subscription television systems, data may be inserted into thevertical and/or horizontal blanking intervals of the video portion.

The data which is inserted into the television channel in this mannercan be conditional access data to globally or locally address andcontrol the subscriber terminals 40, 44 and 48, on screen text data, orother types of information from the headend controller 22. Other dataand information, such as electronic program guides and informationservices, can be inserted into the channels from a data controller 20.The data controller 20 can receive local data or national data from thesatellite downlink through the satellite receiver 18.

In addition, data can be transmitted over the distribution system 52 byout-of-band signaling. In this mode, the system manager 12 accesses anaddressable transmitter 32 with transactions to transmit this data. Theaddressable transmitter 32 may be used to modulate a data signal on afrequency not associated with the television programming. The broadbandtelevision programming of the cable systems has generally been appliedfrom 50 MHz to 550 MHz and above, while out-of-band signaling systemshave been used in non-video portions of these signals, such as at 108.2MHz with a frequency shift keying modulation technique. Thesetransactions are combined with the broadband television signal at 36 andtransmitted to the subscriber terminals 40, 44 and 48.

Transactions in the system are designated as addressed (to a particularsubscriber terminal or group of subscriber terminals) and global (to allsubscriber terminals). These transactions are in a standardized formatwhich can be sent over any of the communication paths mentioned.

Signaling and data information may also flow in the reverse directionfrom the subscriber terminals to the headend via a reverse signalingpath through the distribution system 52. In one form, the reversesignals are digital biphase shift keying (BPSK) modulated and applied toa frequency below 50 MHz. The signals flow back from the subscriberterminals to an IPPV processor where they are decoded. In addition, anyof the subscriber terminals 40, 44 and 48 may include a modem andtelephone link 52 to a telephone processor 16 at the headend 10. Theinformation from processors 14 and 16 are directed to the system manager12, which communicates to the billing computer 11 to obtainauthorization and billing information. The reverse signaling system hasgenerally been used for ordering pay-pay-view (PPV) orimpulse-pay-per-view (IPPV) events. In the future the reverse signalpath may be used for any number of additional interactive services.

Referring to FIG. 2, a detailed block diagram of one of the subscriberterminals, for example, the one indicated as 40 of the subscriptiontelevision system will now be described. The broadband television signalfrom signal distribution system 52 is received at the input of up/downconverter or tuner 100. An out-of-band data receiver 150 is also coupledto the broadband input. Conventionally, the up/down converter 100 mayinclude an input filter, such as a diplexer, to separate the 108.2 MHzout-of-band signal and the broadband television signal. The up/downconverter 100 can be tuned to a predetermined channel for receivingin-band video and audio data when not in use. The channel may bepredetermined from the system manager 12 and, by one of the datatransmission methods described herein, the predetermined channelidentification can be stored in subscriber terminal 40.

When in use, the up/down converter 100 is tuned according to a channelentered by a subscriber via a user interface having an IR receiver 124,remote control 126 and terminal keypad 122. Up/down converter 100 uses aphase locked loop under the control of a tuning control 102 to convertthe selected or predetermined default RF channel signal to a 45.75 MHzintermediate frequency signal. A multifunction control circuit (MCC)104, preferably an application specific integrated circuit (ASIC)combining many subscriber terminal control and data handling functionsinto a single package, is linked to up/down converter 100 by abidirectional link to the tuner control 102. The link has one path fortiming and a return link for feedback control of the tuning process. Afeedback signal for automatic gain control and one for automaticfrequency control are transmitted to the up/down converter 100 throughfilters 101, 103, respectively from a video demodulator 109.

A filter, such as a SAW filter 106, filters the IF channel signal tosplit the signal into separate video and audio portions for furtherprocessing. The video portion is demodulated and descrambled by thevideo demodulator 109 under the control of a descrambler control 110 ofthe MCC 104. The video demodulator 109 performs the sync restoration(descrambling of the video signal) for sync suppression scrambling. Thevideo signal then passes through a band pass filter 130 and to a videoinverter 132 where inverse video inversion (descrambling) takes place.The descrambling of the video portion, whether sync suppression, syncinversion, video line inversion, etc. is under the control of thedescrambler control 110 of the MCC 104. The descrambler control 100provides the necessary timing signals, inversion axis levels, andwhether the video is inverted or not to the video inverter 132 andsupplies the necessary timing, restoration levels and identification ofsync pulses to be restored to the demodulator 109. The descramblercontrol 110 usually receives such descrambling information from pulsesas in-band audio data.

In the other path, the audio signal is converted from the 41.25 MHz IFcarrier to the intermodulation frequency of 4.5 MHz by a synchronousdetector 105. Feedback for automatic gain control of detector 105 issupplied from the output of band pass filter 131. The audio signal maythen be demodulated by an FM demodulator 119. An amplitude modulationdetector 111 performs pulse detection to recover the in-band audio datawhich are amplitude modulated onto the audio carrier. The recoveredin-band pulses are supplied to an in-band audio data decoder 117 of MCC104 for processing after being shaped by pulse shaper 115. The in-banddata, except for descrambling data, is stored in DRAM 137 for buffering.Descrambler control 104 accesses descrambling data directly for thevideo descrambling operation. Volume control of the audio signal isperformed under the control of a volume control 118 of the MCC 104 andthe microprocessor 128 as described in U.S. Pat. No. 5,054,071,incorporated herein by reference. After volume control, the audio signalis passed through a low pass filter 123 and a mute switch 125. Theoutput of the mute switch 125 is applied to a modulator 142.

The MCC 104 receives the video signal after demodulation anddescrambling and strips the in-band video data from the VBI of thesignal with a VBI decoder 129. The in-band video data is transmitted ata frequency on the order of known teletext systems, such as about 4.0megabits per second, and a data clock provides an appropriate samplingfrequency higher than the Nyquist rate according to well knowntechniques. The in-band decoder 129 stores the data in DRAM 137 prior toprocessing by the microprocessor 128, the DRAM 128 serving as a databuffer.

The output of video inversion control 1232 is also supplied to an onscreen display control 127 of the MCC 104. The on screen display control127 selectively generates on screen character and graphic displays inplace of or overlaid on the video signal. The modulator 142 combines thevideo signal from the output of the on screen display control 127 andthe audio signal from the output of the mute circuit 125 and convertsthe combined signal to the channel frequency selected by themicroprocessor 128, such as channel 3/4 for NTSC. The combined andremodulated signal is supplied as an RF output to a television receiverin well known manner.

A control microprocessor 128 controls the overall operation of thesubscriber terminal 40. The subscriber communicates to and controls themicroprocessor 128 through an interactive user interface with an onscreen display. The user interface includes a keyboard 122 on the frontpanel of the subscriber terminal 40 and the remote 126 which generatesubscriber control signals for channel tuning, volume level control,feature selection, and the like. These subscriber control commands aredecoded by an input scanner and control 148 of MCC 104. The remote IRreceiver 124 of the user interface receives the commands from theinfrared (IR) or other remote control 126, as is well known in the art,and provides commands to the microprocessor 128. The user interfaceadditionally includes a 4 digit, 7 segment LED display 120 whichdisplays the tuned channel numbers and diagnostics.

When the keypad 122 or IR remote control 126 is utilized to select acommand, the microprocessor 128 operates to execute the command. Forexample, this operation may be to instruct the tuner control 102 toappropriately control up/down converter 100 to tone a selected channel.The subscriber terminal interacts with the subscriber by providingnumerous on screen displays which assist in the operation of theterminal. The on screen displays provide information and prompts toguide the subscriber through many of the complex features of theterminal.

The descrambler control 110 of the MCC 104 utilizes recovereddescrambling data to generate appropriate control signals, for example,inversion control and equalizing, sync restoration or regeneration fordescrambling, or otherwise restoring the input baseband televisionsignal. A secure microprocessor 136 determines whether the descramblercontrol 110 of MCC 104 carries out descrambling on a particular channelor what form of descrambling is required at a particular time byinterpreting the authorization and control data downloaded from thesystem manager 12 (by any of the three data transmission schemesdiscussed herein, out-of-band, in-band audio or in-band video) into theinternal NVM memory of the device. The non-volatile memory (NVM) in thesecure microprocessor 136 stores secure data, for example, authorizationdata, scrambled channel data, scrambling mode data, some terminalconfiguration data and other required data.

The control microprocessor 128 operates by running a control programwhich preferably is partially stored in a read-only memory internal tothe processor and partially stored in a non-volatile memory such asFlash EPROM memory 134. In addition, the control program of the controlmicroprocessor 128 may also reside in the non-volatile memory of anexpansion card 138. The microprocessor 128 communicates with thenon-volatile memory 134 and 138 via a memory bus 141 which has data,address, and control lines. In addition, the microprocessor 128 controlsthe data decoders 117, 129 and 146 and the tuner control 102, volumecontrol 118, on screen display control 127, descrambler control 110 andinput key scanner and control 148 via commands through MCC 104 andcontrol microprocessor bus (CMB) 131. The microprocessor 128 alsodirectly controls the mute switch 125 and the output frequency selectionof the modulator 142. The microprocessor 128 includes additionalcapacity for other auxiliary device communications and control through adata port 140.

The memory control 112 permits data coming from the three data decoders117, 129 and 146 to be placed in a volatile memory such as DRAM 137.There it can be accessed by the control microprocessor 128 via the CMB131. The MCC 104 also distributes control instructions from the controlmicroprocessor 128 to the other parts of the MCC 104 to provideoperation of the rest of the subscriber terminal 40. The MCC 104additionally connects to a secure microprocessor bus (SMB) 143 whichpermits communications between the secure microprocessor 136 and otherportions of the subscriber terminal 40. The SMB 143 is further coupledto the expansion card 138 to provide renewable security.

The memory control 112 and microprocessor interfaces of the MCC 104 arethe central communications facility for the control microprocessor 128and the secure microprocessor 136. The memory control 112 receivesrequests to write to memory or read from memory from the microprocessors128, 136 and the other controls and data decoders. It resolvescontentions for memory transfers, giving priority to real timeapplications and the microprocessors, and schedules the data flow. Themicroprocessors 128 and 136 communicate through internal registers ofthe MCC 104 with the memory control 112 and other portions of the MCC.

The expansion card 138 is a printed circuit card which contains memoryand/or secure microprocessor components, which can be plugged into aconnector 200. The connector 200 electrically extends the controlmicroprocessor memory bus 141 and the secure microprocessor bus 143 tothe expansion card 138. Additional program or data memory, or renewedsecurity can be provided by the expansion card 138.

The subscriber terminal may optionally include an impulse pay-per-view(IPPV) module of either the telephone type 152 or the RF-IPPV type 154.The IPPV module allows the subscribers to request authorization of theirsubscriber terminal 40 to receive pay-per-view events, store the dataassociated with the purchase of the event in the non-volatile memory ofthe secure microprocessor 136, and then transmit the data to the systemmanager 12 via the telephone return path or the RF return path via thesignal distribution system 52.

FIG. 3 illustrates the key configuration of the remote control 126 ofthe user interface. The remote control keys are a part of theinteractive user interface which in combination with the on screendisplays provides a user friendly environment for the subscriber and afacility of use for the features of the subscriber terminal 40. The keysdirect the subscriber terminal 40 to operate in the following manner.

The LAST key 200 toggles the tuning of the subscriber terminal 40between the last two previously viewed channels. In the features mode,this key will cause the subscriber terminal 40 to return to the previouson screen display. The CH (up) key 202 increments the channel tuned forthe subscriber terminal 40. While in the program guide feature, this keymoves the cursor down by one channel. The CH (down) key 204 decrementsthe channel tuned for the subscriber terminal 40. While in the programguide feature, this key moves the cursor up by one channel. The VOL (up)key 206 increases the volume, except when the volume is muted, in whichcase the key restores the last volume setting. The VOL (down) key 208decreases the volume, except when the volume is muted, in which case itrestores the last volume setting. The MUTE key 210 toggles the volumemute feature where if the volume is muted, it becomes normal and if thevolume is normal, it becomes muted.

The FEATURES key 212 accesses the initial on screen menu when thesubscriber terminal is on. From within a menu, this key cancels thefeature mode and removes all on screen menus. The SELECT key 214, in anon screen menu, initiates the action pointed to by the highlight, orcauses the terminal 40 to do what is defined on the screen. This keyalso terminates direct channel entry if pressed before all digits areentered. The INFO key 216, when pressed while terminal 40 is in the onmode, causes time, channel number, program content and program sourceinformation to overlay the transmitted video for 4 seconds. The key alsodisplays sleep timer status. When the key is pressed in the viewingguide mode, a detailed description of the highlighted program appears.The PAY-PER-VIEW key 218, when the subscriber terminal is timed to anIPPV channel with a program event with a purchase window open, initiatesa buy sequence for that event. When not tuned to an IPPV channel, thiskey accesses up the theater feature menu.

The VIEWING GUIDE key 220 accesses the viewing guide feature menu anytime the subscriber terminal is on and not in another on screen menu.From within the viewing guide feature menu, this key cancels theactivity and removes the viewing guide feature menu. The LEFT key 222,while in the program guide feature, moves the cursor to the left 30minutes. In an on screen menu, this key moves the highlight bar to theleft if there is more than one column of available selection. The BACKARROW key 224, during the NVOD events, takes the subscriber to a latershowing (which is earlier in the event by one offset time increment).The RIGHT key, 226 while in the program guide feature, moves the cursorto the right 30 minutes. In an on screen menu, this key moves thehighlight bar to the right if there is more than one column of availableselection. The FORWARD ARROW key 228, during NVOD events, takes thesubscriber to an earlier showing (which is later in the movie by oneoffset time increment).

The NEXT DAY key 230, while in the program guide feature, moves theentire screen to the right by one day (24 hours). The cursor returns tothe upper left hand cell of the screen. The PREVIOUS DAY key 232, whilein the program guide feature, moves the entire screen to the left by oneday (24 hours). The cursor returns to the upper left hand cell of thescreen. The UP key 234, while in the program guide feature, moves thecursor up one channel. In an on screen menu, this key moves thehighlight bar up to the next available selection. The DOWN key 236,while in the program guide feature, moves the cursor down one channel.In an on screen menu, this key moves the highlight bar down to the nextavailable selection. The PAUSE key 238, during NVOD events, causes thecurrent showing of the event to pause until the next start time.

The Numeric Keys (0-9) 240, within menus requesting channel numbers,directly enter channel numbers. During the parental control feature,IPPV access and other number entries, these keys enter identificationcodes. The POWER key 224 toggles the subscriber terminal 40 on and off.The SLEEP key 242 causes the sleep timer on screen display and menuoptions to appear. The FAVORITE key 246 tunes the subscriber terminal toa preselected channel chosen by the subscriber.

FIG. 4 illustrates a system block diagram of the subscriber terminal 40with a communications and control interface 306. The interface 306 isthe external connection for the data port 140 (FIG. 2). The subscriberterminal 40 may communicate with and control any of a plurality ofauxiliary devices 300, 302 via the interface 306. Alternatively, thesubscriber terminal 40 may be controlled by any of the auxiliary devicesvia the interface 306. The interface 306 is a flexible, bidirectionalcommunications path which can send status, data and instructions to anyof the auxiliary devices 300, 302 and receive commands, status, and datafrom any of the auxiliary devices.

One particularly advantageous auxiliary device can be a peripheralcontroller 300, preferably an IR peripheral controller, which receivesdata and commands from the subscriber terminal 40 and controls acontrolled device 304 via an IR protocol. The controlled device 304 intypical fashion may be a VCR, a television set, a digital musicterminal, or any other consumer device normally found within theproximity of the subscriber terminal 40. Any consumer device may also becontrolled from the subscriber terminal 40 over the interface 306 bydirect connection rather than by IR coupling.

FIG. 5 illustrates the detailed electrical configuration of a preferredimplementation of the interface 306 as a bus. The preferredimplementation of the bus is a four conductor ribbon cable having atransmit line Tx, a receive line RCV, a power line VDC and a ground lineGRD. The subscriber terminal 40 has a transmitter/receiver 308 whichtransmits on the transmit line Tx to all the transmitter/receivers 310,312 and 314 of the auxiliary devices 316, 318 and 320. Thetransmitter/receiver 308 of the subscriber terminal 40 receives repliesover the receive line RCV from all transmitter/receivers 316, 318 and320 of the auxiliary devices. The common ground line GRD is connected toall the transmitter/receivers. The common power line VDC is used topower the auxiliary transmitter/receivers 310, 312 and 314 and/or theauxiliary devices 316, 318 and 320 if they do not have a power supply oftheir own. Preferably, the transmitter/receiver 308 of the subscriberterminal 40 is a data port driver program that controls information toan I/O port of the control microprocessor 128. The driver programcommunicates with the control program 332 of the microprocessor 128 totransmit and receive the data.

The communications protocol among the subscriber terminal 40 andauxiliary devices 300, 302 is provided by an asynchronous communicationprotocol consisting of subscriber terminal initiated commandtransactions and auxiliary device reply transactions over the interface306. The transactions can be up to 258 bytes in length. All the bits aretransmitted at 9600 bits/sec with 0 volts being a logic 0 and 5 voltsbeing a logic 1. As shown in FIG. 6, a standard NRZ data format is usedwith 10 bits. The transmit Tx line is low prior to a messagetransmission and a start bit (logic 1) is transmitted as the first databit in a character. An 8 bit data byte is then transmitted with theleast significant bit first followed by the last bit in a character, astop bit (logic 0). Between each character is a break which is a highlevel (logic 1) for 10 bit times. The protocol states that once acommand transmission has taken place, a reply transaction must beginwithin 500 msec after the subscriber terminal 40 initiated thetransaction. If not, another subscriber terminal initiated transactionwill be transmitted. If, after another 500 msec, an auxiliary device300, 302 does not respond, the subscriber terminal 40 will display an onscreen message indicating a communication problem. The subscriberterminal 40 may initiate a new transaction within 100 msec after acompleted transmit/reply sequence.

The format of command transactions in this protocol is that shown in theupper portion of FIG. 6, where the first byte is divided into 4 bits ofan address and 4 bits of a command code identifier. The addresses areused to determine the particular auxiliary device to which thetransaction is directed and the command code is to indicate to thedevice what function or transaction is to take place. After the commandcode is one byte a data length field which can range from 1 to 255.Following the data length field are the number of data bytes indicatedin that field. The last byte in each transaction is a checksum. A replytransaction from an auxiliary device 300, 302 has a similar format inthat it is addressed to the subscriber terminal 40 and contains the typeof reply which is being sent to the terminal. In addition, multiplebytes of data may be returned by indicating the number of the data bytesin the data length field of the reply transaction. Finally, the replytransaction will terminate with a byte of checksum.

FIG. 7 illustrates a preferred embodiment of the invention whichprovides an apparatus for the automatic recording of a program event ona video cassette recorder 350. In the figure there is shown thesubscriber terminal 40 which outputs a program on channel 3/4 to theinput of the VCR 350. The subscriber terminal 40 communicates with theIR controller 300 to produce the necessary IR control and instructioncodes to turn the VCR off and on at the correct time, and to tune thechannel output from the subscriber terminal 40. A television receiver352 is connected to the output of the VCR 350 so that the subscriber mayview the program event as it is happening and simultaneously record theprogram event on the VCR.

In the configuration shown, the subscriber uses the on screen displayfeatures of the subscriber terminal 40 to determine a program eventwhich he wishes to watch in the future. This selection process is aninteractive session with the subscriber terminal 40 using the remotecontrol 126. The selection process causes a program timer to be set inthe subscriber terminal which is programmed with the time of thebroadcast of the program event and the channel which it will bebroadcast on. At the broadcast time the subscriber terminal 40 willautomatically tune to the channel of the program event set in theprogram timer and further will control the VCR 350 to record the eventvia the IR peripheral controller 300. In one embodiment, the programtimer is set through an on screen interface session and in anotherembodiment a program event code correctly enters the program event datainto the program timer.

When the auxiliary device is an IR peripheral controller 300, aparticular group of transactions has been developed for the apparatus ofFIG. 7 to more advantageously automatically record a program event.These transactions are more fully described with respect to FIGS. 8-14and are in the protocol of the interface 306. The first transaction inFIG. 8 is a command to control the VCR and comprises an address andcommand byte which indicates that the transaction is addressed to the IRperipheral controller 300 and is for control of the VCR 350. Thetransaction is 3 data bytes in length which is indicated in the datalength field. The 3 bytes to produce the control of the VCR are 1 bytewhich is a VCR command such as stop (end recording) or start (record), asecond byte indicating the channel to which the VCR is to tune, and ageneric code indicating the VCR brand and model. The channel number thatthe VCR 350 must tune is typically channel 3 or 4 depending upon what isset for the output from the subscriber terminal 40.

The standard reply to the subscriber terminal 40 for a VCR controlcommand is a reply transaction as more fully shown in FIG. 9. The replytransaction shown is a standard reply that the VCR control transactionwas properly received. It consists of the subscriber terminal address, areply identifier, a data block length of 1 byte, and a checksum byte.The data byte is all zeros except for the most significant bit whichindicates whether the battery in the IR peripheral controller is low ornot. If the bit is set, the battery is low. If the bit is not set, thebattery is okay.

The second type of VCR transaction is a transmission to the IRperipheral controller 300 of a program event code. The program eventcode transaction is more fully illustrated in FIG. 10 and begins with anaddress nibble and command nibble, indicating that the transaction isaddressed to the peripheral controller 300 and is a program event code,respectively. The number of data bytes in this transaction is 12, wherethe first four and one half bytes are BCD digits indicating a programevent code and the last nibble in byte 5 is the number of non zeroprogram event code digits. Bytes 6-8 indicate the current time and 9-11indicate the current date. An event code is a coded series of digitsrequiring a translation algorithm to be stored in the IR controller 300.Depending on the algorithm, the translation routine may need the actualtime of the translation. This actual time is provided by the subscriberterminal so it is not necessary to build a real time clock into thecontroller 300. Byte 12 is reserved for future use.

In response to the program event code command transaction, the IRperipheral controller 300 returns with a program event timer replytransaction as seen in FIG. 13. This reply transaction indicates thatthe IR peripheral controller 300 has translated the program event codeinto the information needed to program the program event timers withinthe subscriber terminal 40. It begins with an address nibble directed tothe subscriber terminal 40 and an identification nibble to indicate itis a program event timer response. The data length field indicates thereare 8 data bytes in the reply transaction. The first two bytes indicatethe start time of the program event in hours and minutes, while thebytes 3-5 indicate the date of the program event occurrence. Bytes 6 and7 indicate the program event length in hours and minutes and byte 8indicates which channel (source) the particular program event will bebroadcast on. The time of the broadcast is the start time and the eventlength allows one of the program timers of the subscriber terminal 40 todetermine the stop time. Byte 1, bit 3 acts as an indication of whetherthe program event code was recognized by the translator of the IRcontroller 300 and bit 2 allows the controller to return informationabout whether its battery is low, the same way that it does in astandard reply transaction. Byte 8 returns either the channel number ofthe program event, if it has a programmed channel map, or the source ofthe program event, if it does not have a channel map or if the channelmap is not programmed.

It is evident that the subscriber terminal 40 could translate theprogram code directly. If this the case, then the program timer isloaded with the translated information without use of this transaction.However, it is advantageous because there may be several differenttranslation algorithms from different IR controller manufacturers andthis transaction facilitates the use of all of them.

A third type of transaction is shown in FIGS. 10 and 11 and permits theIR peripheral controller 300 to be configured to control a particularbrand and model of VCR 350. As is conventional, the IR peripheralcontroller contains an extensive list of IR codes for particular modelsand brands of consumer devices, particularly the VCR 350. Thistransaction assists in the selection of one of these codes to controlthe VCR 350. The set up VCR transaction beans with the nibble addressedto the IR peripheral controller 300 and a command nibble to configurethe VCR 350. The transaction consists of 2 data bytes which areindicated in the data length field. The first byte is a VCR brand byteand the next byte has four control bits which in order are termed thenext bit, the first bit, the retry bit and the walk bit. If the WALK bitis set, this command tells the IR peripheral controller 300 to try a VCRbrand. The subscriber terminal 40 tries the IR codes by generating astart VCR transaction with the code. If the VCR responds, the correct IRcode has been found and the IR peripheral controller 300 is correctlyconfigured. If the FIRST bit is set, the IR peripheral controller 300will try the first model code for that brand. On subsequent cycles, theNEXT bit will be set high and the IR peripheral controller 300 will tryother model codes for that brand. If this transaction is sent with theRETRY bit high, the IR peripheral controller 300 will attempt to startthe VCR 350 with the last model code. When the last IR code for aparticular brand has been tried, the END bit in the brand replytransaction will be set high.

If the WALK bit is set high, and the FIRST bit is set high, the IRperipheral controller 300 will try the first combination of brand andmodel codes. On subsequent tries, the WALK and NEXT bits shall be senthigh, causing the IR peripheral controller 300 to try the next brand andmodel codes. The VCR brand information sent in the command thetransaction is ignored if the walk bit is high. When the END bit isreturned high, the subscriber terminal 40 will tell indicate to thesubscriber with an on screen display that there are no more choicesavailable in that brand, and then request whether the subscriber wouldlike to try all possible choices. If the subscriber answers byhighlighting and selecting the yes on the screen, the subscriberterminal 40 will start using the WALK bit in the transaction to try allVCR brand and model codes.

In reply to the set up VCR command transaction, the IR peripheralcontroller 300 will return the brand reply transaction as set forth inFIG. 11. The brand reply transaction begins with a subscriber terminaladdress nibble and a brand reply command nibble. The data length in thedata length field is 2 bytes and is followed by a checksum byte. Thefirst data byte of the brand reply transaction is the generic code ofthe VCR brand which the IR peripheral controller 300 is checking and thesecond data byte is used to provide two control bits which indicatewhether the battery of the controller is low and whether the end of themodel types for a particular brand has been reached.

FIG. 14 illustrates a channel map transaction between the subscriberterminal 40 and the IR peripheral controller 300. The channel maptransaction is to allow the subscriber terminal 40 to pass the correctchannel numbers of the local cable system to the IR peripheralcontroller 300. A local channel mapping is downloaded into thesubscriber terminal 40 based upon the channel line up of the local cablesystem when it is first placed in service, periodically, or when thereis a change in such line up. The channel map transaction has an addressnibble which indicates the IR peripheral controller 300 is thedestination for the transaction and an identifier nibble that indicatesit is a channel map transaction. The data length of the transaction is16 bytes which is indicated in the data length field and the transactionends with a byte of checksum. Byte 0 of the data is the particularstarting channel slot which the following 15 bytes of channel numberdata are to be loaded into. The IR peripheral controller 300 replieswith a standard reply such as that shown in FIG. 9.

In FIG. 15, the IR peripheral controller 300 may store a channel map inits memory which comprises a number of channel slots, 1-240. Eachchannel slot is associated with a particular program source such as thebroadcast networks CBS, NBC, ABC, and the cable networks TBS, USANetwork, Cinemax and MTV. Further, there are channel slots for programproviders in the premium or tiered class, such as HBO, ESPN and AmericanMovie Classic. This is in a typical CATV channel line up but isexemplary only, as the channel map could have any actual CATV channelassigned to any program providers. From its channel map and knowledge ofthe structure of the map of the controller, the subscriber terminal 40downloads the channel numbers into the channel map of the IR peripheralcontroller 300 by providing 15 channels numbers per transaction. Thestart slot information in byte 0 of the transaction will tell the IRperipheral controller 300 where to begin the storage. The first channelnumber will be stored in the identified slot and the next channelnumbers are then sequentially stored in the map. This permits theprogram source information of the program event code to be translatedinto local channel frequency information. If the IR peripheralcontroller 300 does not have a channel map, or the channel map is notprogrammed (downloaded from the subscriber terminal 40 or manually),then the program event source data is translated in the subscriberterminal 40. It is evident that if the controller 300 does not have achannel map this transaction it not used.

The transactions between the subscriber terminal 40 and IR peripheralcontroller 300 are used in combination with a sequence of on screendisplays and interactions by the subscriber with the user interface forproviding the automatic recording operation. The program timer featuresof the subscription terminal 40 are used individually and assist inentering program event codes for control of the IR controller 300 andconsequently VCR 350. In general, as seen in FIG. 14A-C, the programtimer feature is menu item 5 in the features menu in block A10. Thefeatures menu is the main menu that is displayed on screen by selectingthe features key 212. The selection of menu item 5 (by highlighting itand pressing the select key 214) will cause the program timer screenshown in block A12 to be displayed on the television receiver 352. Theprogram timer screen provides a menu with five subscriber choices. Fromthis menu a program timer may be set or changed, or a program timercleared. Additionally, the subscriber may wish to just review theprogram events that he has programmed. The menu further provides forallowing the subscriber to enter program event codes. This is theeasiest method of automatically recording a program event with the VCR350 and, therefore, it is placed in the first position on the programtimer menu.

To review a timer, the menu item 4 is chosen and the on-screen displayshown in block A14 is used to provide the subscriber with a detailedlisting of the programs which have been programmed into timers. Afterreview of these programs, the subscriber may exit the menu by pressingthe features key 212. Alternatively, in block A16, if the subscriber haschosen to set a timer, a similar display of those programs alreadyprogrammed in timers is provided. For setting a timer, the subscriberchooses a blank menu item which then can be run through a selectionprocess in block A18 (FIG. 16B). Similarly, if a timer is to be changed,block A16 allows the subscriber to select which timer to change, andthen continue the process of setting that timer in block A18. In blockA18, more fully expanded as FIG. 16B, a number of on-screen displaysassist the subscriber in selecting whether he would like to record asingle program, record a program which is broadcast weekly, an everydayprogram, or a Monday through Friday program (Block A36). Further onscreen displays allow selection of the start day (Block A38), starthour, start minutes (Block 42), length in hours (Block A44), and lengthin minutes (Block A46), and channel (Block A48).

After a new timer has either been set or changed, the subscriberterminal 40 will check to determine if the program the subscriber hasselected is on a parentally locked channel. If it is, then the on-screendisplay in block A22 appears and the subscriber must enter his parentalcontrol number. Further, if the event is a pay-per-view event, then thesubscriber is requested to enter his pay-per-view access number. Theaccess number entry is optional with the service provider. Thepay-per-view on screen display in block A24 indicates which program hehas selected and the price for that program event. Further, thesubscriber is reminded of the start time and the channel number of theprogram event for which he has set a timer. Finally, a reminder screenin block A26 is displayed to remind the subscriber to set his VCR timerif the IR peripheral controller 300 is not available.

Alternatively, according to the invention, when the subscriber wishes touse program event codes, he will select the first menu choice in blockA12. This menu choice will cause the subscriber terminal 40 to displaythe screen in block A28, which requests the entry of the program eventcode. The subscriber will enter the program event code from the numerickeys of the remote control 126 and then press the select key 214 whenfinished. The subscriber terminal 40 will then generate the programevent code transaction to check and translate the program event code. Ifan invalid code is detected in the reply transaction from the IRcontroller 300, the screen in block A30 is displayed to the subscriber.The screen in block A30 indicates that the subscriber has entered aninvalid program code and can either attempt to reenter the code, bypressing the select key 244, or exit by pressing the features key 212.When the subscriber has entered a valid code and it has been translated,the screen in block A32 is displayed to indicate which program timer thesubscriber terminal will use to time the event. The information returnedby the IR peripheral controller 300 is then programmed into the programtimer used. Information needed to confirm that the program event codewas the one associated with the program event which the subscriberwishes to record is additionally displayed. The information includes thestart day and time, the length of the program, and the channel which isto be tuned.

The on screen display in block A32 prompts the subscriber to eitherpress the select key 214 if the program information is incorrect, or topress the features key, 212, if the program information is correct. Ifthe information is incorrect, then the subscriber may enter another codeby looping back to block A28 and proceed as previously described forentering and translating the code. If the program event code is correct,then a press of the features key 212 will transfer the terminal down toblock A22 where the subscriber terminal determines whether the channelto which it is to be tuned is parentally locked. The process continuesas previously described for blocks A24 and A26.

When one of the program timers elapses and indicates that a programevent should be recorded, the subscriber terminal 40 uses the VCRcontrol transaction to turn the VCR 350 on and off at the right timesand to time the correct channel for the output from the subscriberterminal. In addition, the correct channel of the cable system issimultaneously tuned by the subscriber terminal 40. Therefore, anadvantageous method of automatically recording a program event using anapparatus including the subscriber terminal 40, the VCR 350, thetelevision receiver 352, and the IR controller 300 has been disclosedand described. The subscriber terminal 40 allows a single on-screendisplay which permits the use of one user interface for the subscriberand, at most, the setting of one program timer. The program timer iseasily used with prompts through on-screen displays which in a step bystep manner lead the subscriber through the process. Alternatively, anon screen assisted process for entering a program event code can be usedto automatically program the timers and initiate the process from thesimple entry of a number of digits which are associated with the programevent.

The on screen display operation to allow the subscriber terminal 40 toset up the IR peripheral control for a particular brand of VCR will nowbe more fully explained with reference to FIG. 16D. The set up operationfor the subscriber terminal 40 is also entered through the features menudisplay in block A10 (FIG. 16A). One of the menu items on the featuresmenu is to provide for the subscriber terminal set up. The choice ofsubscriber terminal set up causes the subscriber terminal 40 to displaythe screen shown in block A52 where VCR control may be selected.

The choice of VCR control causes the subscriber terminal to display thescreen shown in block A54 where two menu choices are provided. Thesubscriber may either set up the VCR control or he may test the VCRcontrol. If the subscriber chooses the test option, the program willchoose a path to the on screen display illustrated in block A56. Thesubscriber is prompted to insert a blank recording tape in the VCR 350and to turn the device off. After this is accomplished, he is instructedto press the select key 214 to begin the test. The select key 214indicates that the test should begin and causes a VCR controltransaction to tuna the VCR 350 on for a timed period of 10 seconds andthen send a stop VCR command. The subscriber is prompted to determinewhether the test has been successful by a message which indicates if theVCR did not turn on and record the message on the screen, then an errorhas occurred. The message further advises that the subscriber shouldconsult a source of assistance, such as the VCR control manual.

If, on the other hand, the subscriber wants to begin the VCRconfiguration path, the program in block A54 will transfer control toblock A58 where the subscriber is prompted to enter a 2 digit coderepresentative of the VCR 350 that he possesses. If the subscriber doesnot know the code for his VCR, he then may enter 00 and the subscriberterminal 40 will hunt for the correct code. After the two digit numberis entered, the subscriber terminal will display the next screen inblock A60. The subscriber terminal 40 will also send the set up VCRtransaction to the IR controller 300 to transfer the brand codeidentified by the subscriber. If the subscriber has entered the digits00, then the transaction will command the IR peripheral controller 300walk through each brand and model, beginning with the first brand andmodel.

The subscriber is then prompted to turn his VCR off and to press theselect key 214 to begin the set up procedure. Next, in block A62, an onscreen display indicates to the subscriber that the subscriber 40terminal has tried to turn on the VCR 350 with the IRE codes associatedwith the brand and model. It then asks whether or not the VCR did indeedmm on and tune to the correct channel. If the subscriber answersnegatively, by highlighting and selecting no, a set up VCR transactioncommanding the IR peripheral controller 300 will be transmitted to trythe next model code in the list and then returns to ask the samequestion. If, when the correct model for the brand is found, theselection of yes by the subscriber will bring the program back to theVCR control screen in block A54 where he may exit. In this manner anautomatic set up for any brand of VCR may be accomplished easily andwith the assistance of an on screen display.

While there has been shown and described the preferred embodiments ofthe inventions, it will be evident to those skilled in the art thatvarious modifications may be made thereto without departing from thespirit and scope of the invention as set forth in the appended claim.

What is claimed is:
 1. An auxiliary device interface for a subscriberterminal of a subscription television service which allows communicationto or from, or control of or by, at least one auxiliary device; saidauxiliary device controlling a recording apparatus selected from aplurality of brands or makes, each of said plurality of brands or makesresponding to commands associated with said brands or makes, saidauxiliary device interface comprising:a transmitter included in thesubscriber terminal for transmitting at least one of data, control, andinstruction over a transmit conductor in a predetermined communicationprotocol to said at least one auxiliary device, said at least one ofdata control, and instruction including a generic start command or ageneric stop command; a receiver included in said subscriber terminalfor receiving at least one of data, control, or instruction over areceive conductor in said communication protocol from said at least oneauxiliary device; an interface bus including at least said transmitconductor, said receive conductor, and a ground conductor, saidinterface bus connected between said subscriber terminal and each ofsaid at least one auxiliary device; a receiver included in each of saidat least one auxiliary device for receiving transactions sent from thesubscriber terminal over said transmit conductor; each of said at leastone auxiliary device including processing means for processing thereceived data, control, or instruction; and, a transmitter included ineach of said at least one auxiliary device for transmitting at least oneof data, control or instruction in said communication protocol over thereceiver conductor, wherein the transmitted at least one of data,control or instruction, transmitted from said transmitter in said atleast one auxiliary device, is responsive to the received data, control,or instruction from the subscriber terminal and wherein said associatedcommands are generated in response to the receipt of said at least oneof data, control or instruction from said subscriber terminal.
 2. Asystem for automatically recording a program event broadcast over asubscription television system, said system comprising:a subscriberterminal adapted to selectively tune the program event at a broadcasttime; a recording apparatus coupled to said subscriber terminal andadapted to record said selectively tuned program event, said recordingapparatus selected from a plurality of brands or makes of recordingapparatuses, each of said plurality of brands or makes responding tocommands associated with said brands or makes; and, a peripheralcontroller, bi-directionally communicating with said subscriber terminalvia a peripheral interface, said peripheral controller receiving genericcommands from said subscriber terminal and outputting said associatedcommands to said subscriber terminal in response to receipt of saidgeneric commands, said associated commands controlling said recordingapparatus; wherein at least one of said generic commands generated bysaid subscriber terminal includes a command to said peripheralcontroller to begin recording at the broadcast time the program eventand at least another of said generic commands generated by saidsubscriber terminal includes a command to stop recording after theprogram event.
 3. A system for automatically recording a program eventas set forth in claim 2, wherein:said recording device is a videocassette recorder.
 4. A system for automatically recording a programevent as set forth in claim 3, wherein:said peripheral controllercontrols said video cassette recorder by means of an encoded infra-redtransmission.
 5. A system for automatically recording a program event asset forth in claim 2, wherein said subscriber terminal furtherincludes:a controller for setting a program timer which generates anevent start signal as the broadcast time of said program event andgenerates an event stop signal at the end of said program event; whereinsaid controller is responsive to said event start and stop signals, andcauses said command to begin recording and said command to stoprecording to be transmitted to said peripheral controller.
 6. Theauxiliary device interface for a subscriber terminal of a subscriptiontelevision service according to claim 1, said at least one auxiliarydevice connected to and unidirectionally communicating with saidrecording apparatus.
 7. The auxiliary device interface for a subscriberterminal of a subscription television service according to claim 6, saidat least one auxiliary device transmitting information to said recordingapparatus via an infrared transmission.
 8. The system for automaticallyrecording a program event broadcast over a subscription televisionsystem according to claim 2, said peripheral controller unidirectionallycommunicating to said recording apparatus.